<?php
require '../config.php';
require PATH . 'classes/phpmailer/class.phpmailer.php';

Lang::setSource('contacto');

$Response = (object)array(
  'error'   => false,
  'message' => ''
);

$_POST = array_map('trim', $_POST);

if($_POST['name'] == '' || $_POST['email'] == '' || $_POST['message'] == ''){
  $Response->error = true;
  $Response->message = Lang::get('fill_form');
} else {

  // Suscribir al usuario si lo desea
  if( isset($_POST['subscribe']) ){
    require PATH . 'classes/ofj-orm/Usuario.php';
    try{
      $count = Usuario::instance()->count(array(
        'where' => 'email=:email',
        'arguments' => array(':email' => $_POST['email'])
      ));

      if($count == 0){
        $Usuario = new Usuario();
        $Usuario->nombre = $_POST['name'];
        $Usuario->email = $_POST['email'];
        $Usuario->fecha = new SahORMSqlExpression('NOW()');
        $Usuario->save();
      }
    } catch(SahORMException $e){
      // Si no se pudo guardar el usuario no importa, seguimos enviando el correo.
    }
  }

  // Configurar PHPMailer
  $PHPMailer = new PHPMailer();
  $PHPMailer->setLanguage('es');

  $PHPMailer->IsSMTP();
  $PHPMailer->SMTPAuth = true;
  $PHPMailer->Host = 'mail.ofj.com.mx';
  $PHPMailer->Port = 8025;
  $PHPMailer->Username = 'noreply@ofj.com.mx';
  $PHPMailer->Password = 'Ofjal19u';

  $PHPMailer->SetFrom('noreply@ofj.com.mx', 'OFJ Contacto Web');
  $PHPMailer->AddReplyTo('noreply@ofj.com.mx', 'OFJ Contacto Web');

  $PHPMailer->Subject = 'OFJ Contacto Web';

  // Crear el texto del mensaje con los datos que manda el usuario
  $PHPMailer->Body = '--- Mensaje enviado desde www.ofj.com.mx ---' . PHP_EOL
    . 'Enviado por: ' . $_POST['name'] . ' (' . $_POST['email'] . ')' . PHP_EOL
    . PHP_EOL . 'Mensaje:' . PHP_EOL . $_POST['message'];

  $PHPMailer->AddAddress('info@ofj.com.mx');

  // Dejamos esta cuenta un tiempo para probar que funciona, despues la borramos.
  $PHPMailer->AddAddress('sahib.alejandro@gmail.com');

  // Intentar enviar el correo
  if( !$PHPMailer->Send() ){
    $Response->error = true;
    $Response->message = Lang::get('cant_send');
  } else {
    $Response->message = Lang::get('sent');
  }
}

header('Content-Type:application/json;charset=utf-8');
echo json_encode($Response);
